The World Wide Web (“Web” or “WWW”) provides access to many types of facilities for searching or browsing databases of electronic documents. Using such facilities, users can search large databases of electronic documents for individual documents matching user-provided search terms. Alternatively, a user may simply browse through electronic documents available in the database. These facilities are typically provided by a search engine application program executing on a Web server computer and provide a great deal of functionality for users performing research or otherwise trying to quickly locate a specific electronic document.
While currently available facilities for searching or browsing a document database provide a great deal of functionality, these facilities are not without their drawbacks. One of the main drawbacks of current search facilities is that these facilities do not provide functionality for searching or browsing the contents of a document database based upon a specific category of electronic document. For instance, currently available search facilities would not permit a user to specify that search results should be limited solely to a category of electronic document, such as resumes, business proposals, or financial statements. This limitation can be frustrating to a user trying to quickly locate a document belonging to a certain category of documents.
The currently available search facilities would similarly not permit a user to simply browse through all available documents belonging to a certain category, such as scripts, expense reports, or announcements. This limitation can be similarly frustrating to users wanting to browse through available documents in a certain category of documents.
Currently available facilities for searching and browsing a document database are also very computationally expensive. One reason these facilities consume such a large amount of computational resources is that a new search must be performed each time a new document is requested from a list of search results or documents available for browsing. For instance, when a user performs a search, a list of search results is returned to the Web browser. Each time a document is requested from the list of search results, a uniform resource locator (“URL”) is transmitted to the search facility that requests that another search be performed using the same parameters as the previous search. However, the request also includes a parameter instructing the search facility to return a different document from the search results than previously returned. This parameter is called a “start hit” and is provided to the search facility to identify the document to be returned from the list of search results. In this manner, a user can view each of the documents identified in a list of search results.
While the “start hit” parameter allows the search facility to remain stateless with regard to client transactions, it also causes the consumption of large amounts of computational resources because many redundant searches must be performed. If a user requests many of the documents in a list of search results, the same search may be performed many times by the search facility. If the search facility has many users performing searches, the search facility may slow down considerably. This can be frustrating to a user that has to wait while many redundant searches are performed.
Accordingly, in light of the above, there is a need for a method, apparatus, and computer-readable medium for searching a document database that can organize documents by category, and that permits searching and browsing the database based upon document category. Moreover, there is a need for a method, apparatus, and computer-readable medium for navigating between documents in a document database that does not require a search each time a document is requested.